The present invention relates to an method, system and computer program product for componentized multi-location software testing, and more particularly to an apparatus, system and method for synchronization and dynamic data management between multi-sided test flows of components at remote locations, typically representing separate participants or clients in a transaction, conversation or joint session offered by a communications service.
The term ‘test software’ is used to describe a software product whose primary function is to examine how a system is functioning. The test software collects its input from agents, which are individual members of a system being tested.
Some examples where test software is employed include mobile or wireless phone networks and other types of telecommunication networks or systems, river water quality monitors and automobile performance test systems. Networks or systems are often geographically and/or temporally distributed. The test software for such systems must collect data from different locations or at different times to test such a system.
Despite the many advances that have been made in the field of wireless network testing, certain problems persist. These problems include an inability to synchronize the execution of test flows between or among flows or sides in an open manner that employs common standards, an inability to synchronize execution between flows (or virtual threads of execution) except when using a proprietary interface, and an inability to test wireless services that depend on orders of execution between flows unless a proprietary interface is included in the system architecture.
Test and measurement software products such as Agilent's OSS Wireless QOS Manager (WQM) are used for testing wireless (Mobile/Cell/WiFi) communications networks, and the applications that the networks provide to the users of such networks. Examples of such applications are: 1) sending and receiving short messages (SMS), which involves a message ‘sender’ and a message ‘receiver’ who may be located anywhere in the world; and 2) a ‘push to talk’ application which involves one ‘sender’ (a wireless device) which is used for sending a voice message to a group of ‘listeners’. The listeners are a group of wireless devices that are registered to listen to the message, which will receive the message, or a notification of the message in some form (a short message or an email.) The following publication and patent application, each hereby incorporated by reference herein in its respective entirety, disclose various prior art teachings concerning WQMs:
Agilent Technologies, Inc. Concepts Guide entitled “Agilent OSS QoS Manager” tenth edition, November 2005, part number J7810G-90001, and U.S. patent application Ser. No. 10/736,835 entitled “Sequential Coordination of Test Execution and Dynamic Data” to Bingham.
The testing of heterogeneous (multi-network and multi-protocol) applications is accomplished by running many test software programs, at remote locations, concurrently. Each of the concurrent software programs tests one aspect of the wireless application under test. For example, in the ‘push to talk’ application described above, one software test program will be used to send the message and measure different quality aspects of the wireless applications seen when sending the message. On the receivers' side, many test programs, located at different locations, will be employed to receive the message, and measure the quality aspects of the wireless network when receiving the message. With reference to FIG. 1, WQM allows creation of software test programs with components that run in sequence. These sequences of software test components can be run at any remote location using control programs called ‘Agents’. Heretofore, agents have not provided any ability to run multiple sequences concurrently, or the ability to synchronize such sequences.
Existing test systems capable of running such software tests concurrently depend upon proprietary software written in a specially created language. Some systems use proprietary protocols built upon open standard protocols. As long as the implementation details (e.g., specialized software ‘library’ for concurrency and synchronization) of such protocols are not available freely, such protocols cannot be considered platform independent, nor multithreaded. In systems that have a centralized implementation, a single point of failure, i.e., failure of a single component can cause the entire test system to stop functioning.
Thus, what is desired is a wireless QOS test system manager that is not dependent on proprietary hardware, and uses open software protocols to achieve concurrency and synchronization.
As those skilled in the art will appreciate after having read and understood the non-limiting descriptions below, at least some of the systems, methods and computer program products disclosed may be modified advantageously in accordance with the teachings of the present invention.